#!/usr/bin/env bash
cwd=$(pwd)

# codeSerer文档:
# https://docs.linuxserver.io/images/docker-code-server/
#

########################################## 修改以下参数↓↓↓↓↓
# docker构建的镜像名
tag=my_code_server:latest
# 启动的docker容器名
name=my-code-server
# 绑定宿主机端口
port=28080
# 容器内工作目录
workdir=/project
########################################## 修改以上参数↑↑↑↑↑

# 构建docker镜像
docker build -t ${tag} -f ${cwd}/Dockerfile .
if [ $? -ne 0 ]; then
    echo "docker build failed"
    exit 1
fi

# 删除原有容器
docker rm -f ${name}

# 启动新容器
docker run -d \
    --name=${name} \
    -e PUID=$(id -u) \
    -e PGID=$(id -g) \
    -e TZ=Asia/Shanghai \
    -e PASSWORD=password `#可选` \
    -e HASHED_PASSWORD= `#可选` \
    -e SUDO_PASSWORD=password `#可选` \
    -e SUDO_PASSWORD_HASH= `#可选` \
    -e DEFAULT_WORKSPACE=${workdir} `#可选,默认工作目录` \
    -p ${port}:8443 \
    -w ${workdir} \
    -v ${cwd}/config:/config `#vscode配置目录` \
    -v ${cwd}/www1:${workdir}/www1 `#自定义项目目录1` \
    -v ${cwd}/www2:${workdir}/www2 `#自定义项目目录2` \
    --restart unless-stopped \
    ${tag}
